package o2o.dao.VO.order;

import o2o.cache.order.OrderStatusNameMemory;
import o2o.dao.PO.order.OrderGrabInfo;

import java.util.List;

//订单信息  管理员用  返回抢单信息
public class OrderInfoPreAdminVO {
    private Long id; // 标识
    private String orderNo; // 订单编号
    private Integer preDayNo;//每日编号
    private Integer orderType = 1;//订单类型  1普通订单 2跑腿订单  3代购订单 4服务订单（开锁）

    private Long shopId; // 店铺ID
    private String shopName;//店铺名称
    private String shopPhone;//店铺电话
    private String shopImageUrl;//店铺头像
    private String shopAddress;//店铺地址
    private Double shopLat;//店铺纬度
    private Double shopLng;//店铺经度

    private Long agentId; //代理ID

    private String username; // 提交订单的用户账号
    private int totalCount = 0; // 购买数量(几件商品)
    private double totalPrice = 0; //订单总金额
    private int orderStatus; // 订单状态
    private String orderStatusName; // 订单状态
    private Long deliveryId; // 收货地址
    private Double deliveryPrice;//配送费
    private Double packetPrice;//打包费
    private String payType; // 付款方式
    //    private String payTypeName; // 付款方式(1:网上支付，2:货到付款，3支付宝，4微信)
    private String cancelReason; // 取消订单的原因
    private String rejectReason; // 拒收的原因
    private String refundReason; // 退货的原因
    private String reBackReason; // 商家拒绝退款原因
    private String chargeId; // 对应的ping++的支付凭证
    private Long payTime; //订单支付时间
    private Long createTime; // 创建日期
    private Long updateTim; // 创建日期

    private Integer isPaid;//已经成功支付成功

    //    private UserAddressVO postman;//收货地址
    private List<OrderGoodsVO> goods;//该订单的所有商品

    private List<OrderGoodsLabelVO> labelList;//订单标签

    private List<OrderGrabInfo> grabInfo;//抢单信息

    private String buyer; // 收货人姓名
    private String telephone; // 收货人联系方式
    private String address; // 收货人具体地址
    private String address2; //楼号房间号
    private Double lng = 0d; //经度
    private Double lat = 0d; //纬度
    private String province; // 省份
    private String city; //收货市
    private String county; // 区县

    private Integer isUrgent = 0;//是否加急   1加急 0非加急

    private int isComment = 0;//是否已评价 0未评价 1已评价

    private int isZiQu = 0;//是否为自取  1自取，0非自取
    private Integer isAppointment = 0;//是否预约（0立即送出，1预约）
    private Long ziQuTime;//自取时间

    private String postManUsername;//配送员账号
    private String postmanName;//配送员姓名
    private String postmanPhone;//配送员电话
    private String postmanImageUrl;//配送员头像

    private String serviceUsername;//客服账号

    private String changePostman;//正在转单配送员账号

    private Long shopSureTime;//店铺接单或拒绝时间
    private Long shopPushTime;//店铺确认发货时间
    private Long postmanPullTime;//配送员确认取货时间
    private Long postmanSureTime;//配送员接单或抢单时间
    private Long postmanFinishTime;//配送员送达或无法送达时间
    private Long userFinishTime;//用户完成时间
    private Long shopFinishTime;//店铺完成（到店确认）时间

    private Long serviceSureTime;//客服接单时间
    private Long servicePushTime;//客服处理时间
    private Long serviceFinishTime;//客服完成订单时间

    private String note; //备注

    private Double awardMoney;//活动满减金额
    private Double totalMoney;//订单总金额（包含所有 配送费、商品总金额、满减金额未减）
    private Double totalGoodsMoney;//商品总金额

    private Integer isRefundApply;//用户申请退款  0未申请退款 1申请退款 2申请退款成功 3申请退款未通过

    private String extra1;//备用字段1
    private String extra2;//备用字段2
    private String extra3;//备用字段3

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(int totalCount) {
        this.totalCount = totalCount;
    }

    public double getTotalPrice() {
        return totalPrice;
    }

    public void setTotalPrice(double totalPrice) {
        this.totalPrice = totalPrice;
    }

    public int getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(int orderStatus) {
        this.orderStatus = orderStatus;
    }

    public Long getDeliveryId() {
        return deliveryId;
    }

    public void setDeliveryId(Long deliveryId) {
        this.deliveryId = deliveryId;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getCancelReason() {
        return cancelReason;
    }

    public void setCancelReason(String cancelReason) {
        this.cancelReason = cancelReason;
    }

    public String getRejectReason() {
        return rejectReason;
    }

    public void setRejectReason(String rejectReason) {
        this.rejectReason = rejectReason;
    }

    public String getRefundReason() {
        return refundReason;
    }

    public void setRefundReason(String refundReason) {
        this.refundReason = refundReason;
    }

    public String getChargeId() {
        return chargeId;
    }

    public void setChargeId(String chargeId) {
        this.chargeId = chargeId;
    }

    public Long getPayTime() {
        return payTime;
    }

    public void setPayTime(Long payTime) {
        this.payTime = payTime;
    }


    public List<OrderGoodsVO> getGoods() {
        return goods;
    }

    public void setGoods(List<OrderGoodsVO> goods) {
        this.goods = goods;
    }


    //     SUBMIT = 1; //用户提交订单
//     PAYED = 2; //订单已支付
//     CANCEL = 3; //用户未支付取消订单
//     PAYED_CANCEL = 4; //用户已支付取消订单
//     SHOP_SURE = 5; //商户接单
//     SHOP_REFUSED = 6; //商户拒绝接单
//     PEISONG = 7; //商户开始配送
//     POSTMAN_SURE = 8; //配送接单
//
//     OVER = 9; //订单完成

    public String getOrderStatusName() {
        orderStatusName = OrderStatusNameMemory.getInstance().getStatusName(orderStatus);
        return orderStatusName;
    }

    public void setOrderStatusName(String orderStatusName) {
        this.orderStatusName = orderStatusName;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    //
//     payByNet = 1; //网上付款
//     payByArrive = 2; //货到付款
//     payByAli = 3; //支付宝
//     payByWX = 4; //微信
//    public String getPayTypeName() {
//        payTypeName = OrderUtils.getPayTypeName(payType);
//        return payTypeName;
//    }
//
//    public void setPayTypeName(String payTypeName) {
//        this.payTypeName = payTypeName;
//    }


    public Double getDeliveryPrice() {
        return deliveryPrice;
    }

    public void setDeliveryPrice(Double deliveryPrice) {
        this.deliveryPrice = deliveryPrice;
    }

    public String getShopPhone() {
        return shopPhone;
    }

    public void setShopPhone(String shopPhone) {
        this.shopPhone = shopPhone;
    }

    public String getShopImageUrl() {
        return shopImageUrl;
    }

    public void setShopImageUrl(String shopImageUrl) {
        this.shopImageUrl = shopImageUrl;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getBuyer() {
        return buyer;
    }

    public void setBuyer(String buyer) {
        this.buyer = buyer;
    }

    public String getTelephone() {
        return telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Double getLng() {
        return lng;
    }

    public void setLng(Double lng) {
        this.lng = lng;
    }

    public Double getLat() {
        return lat;
    }

    public void setLat(Double lat) {
        this.lat = lat;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCounty() {
        return county;
    }

    public void setCounty(String county) {
        this.county = county;
    }

    public int getIsComment() {
        return isComment;
    }

    public void setIsComment(int isComment) {
        this.isComment = isComment;
    }

    public int getIsZiQu() {
        return isZiQu;
    }

    public void setIsZiQu(int isZiQu) {
        this.isZiQu = isZiQu;
    }

    public Long getZiQuTime() {
        return ziQuTime;
    }

    public void setZiQuTime(Long ziQuTime) {
        this.ziQuTime = ziQuTime;
    }


    public String getPostManUsername() {
        return postManUsername;
    }

    public void setPostManUsername(String postManUsername) {
        this.postManUsername = postManUsername;
    }

    public String getPostmanName() {
        return postmanName;
    }

    public void setPostmanName(String postmanName) {
        this.postmanName = postmanName;
    }

    public String getPostmanPhone() {
        return postmanPhone;
    }

    public void setPostmanPhone(String postmanPhone) {
        this.postmanPhone = postmanPhone;
    }

    public String getPostmanImageUrl() {
        return postmanImageUrl;
    }

    public void setPostmanImageUrl(String postmanImageUrl) {
        this.postmanImageUrl = postmanImageUrl;
    }

    public Long getUpdateTim() {
        return updateTim;
    }

    public void setUpdateTim(Long updateTim) {
        this.updateTim = updateTim;
    }


    public List<OrderGrabInfo> getGrabInfo() {
        return grabInfo;
    }

    public void setGrabInfo(List<OrderGrabInfo> grabInfo) {
        this.grabInfo = grabInfo;
    }

    public Long getShopSureTime() {
        return shopSureTime;
    }

    public void setShopSureTime(Long shopSureTime) {
        this.shopSureTime = shopSureTime;
    }

    public Long getPostmanSureTime() {
        return postmanSureTime;
    }

    public void setPostmanSureTime(Long postmanSureTime) {
        this.postmanSureTime = postmanSureTime;
    }

    public Long getPostmanFinishTime() {
        return postmanFinishTime;
    }

    public void setPostmanFinishTime(Long postmanFinishTime) {
        this.postmanFinishTime = postmanFinishTime;
    }

    public Long getUserFinishTime() {
        return userFinishTime;
    }

    public void setUserFinishTime(Long userFinishTime) {
        this.userFinishTime = userFinishTime;
    }

    public Long getShopFinishTime() {
        return shopFinishTime;
    }

    public void setShopFinishTime(Long shopFinishTime) {
        this.shopFinishTime = shopFinishTime;
    }

    public String getShopAddress() {
        return shopAddress;
    }

    public void setShopAddress(String shopAddress) {
        this.shopAddress = shopAddress;
    }

    public Double getShopLat() {
        return shopLat;
    }

    public void setShopLat(Double shopLat) {
        this.shopLat = shopLat;
    }

    public Double getShopLng() {
        return shopLng;
    }

    public void setShopLng(Double shopLng) {
        this.shopLng = shopLng;
    }

    public Integer getIsUrgent() {
        return isUrgent;
    }

    public void setIsUrgent(Integer isUrgent) {
        this.isUrgent = isUrgent;
    }

    public Integer getIsPaid() {
        return isPaid;
    }

    public void setIsPaid(Integer isPaid) {
        this.isPaid = isPaid;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public Double getAwardMoney() {
        return awardMoney;
    }

    public void setAwardMoney(Double awardMoney) {
        this.awardMoney = awardMoney;
    }

    public Double getTotalMoney() {
        return totalMoney;
    }

    public void setTotalMoney(Double totalMoney) {
        this.totalMoney = totalMoney;
    }

    public String getAddress2() {
        return address2;
    }

    public void setAddress2(String address2) {
        this.address2 = address2;
    }

    public Integer getPreDayNo() {
        return preDayNo;
    }

    public void setPreDayNo(Integer preDayNo) {
        this.preDayNo = preDayNo;
    }

    public Long getShopPushTime() {
        return shopPushTime;
    }

    public void setShopPushTime(Long shopPushTime) {
        this.shopPushTime = shopPushTime;
    }

    public Long getPostmanPullTime() {
        return postmanPullTime;
    }

    public void setPostmanPullTime(Long postmanPullTime) {
        this.postmanPullTime = postmanPullTime;
    }

    public Long getAgentId() {
        return agentId;
    }

    public void setAgentId(Long agentId) {
        this.agentId = agentId;
    }

    public String getChangePostman() {
        return changePostman;
    }

    public void setChangePostman(String changePostman) {
        this.changePostman = changePostman;
    }

    public Integer getIsRefundApply() {
        return isRefundApply;
    }

    public void setIsRefundApply(Integer isRefundApply) {
        this.isRefundApply = isRefundApply;
    }

    public Double getTotalGoodsMoney() {
        return totalGoodsMoney;
    }

    public void setTotalGoodsMoney(Double totalGoodsMoney) {
        this.totalGoodsMoney = totalGoodsMoney;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public Integer getIsAppointment() {
        return isAppointment;
    }

    public void setIsAppointment(Integer isAppointment) {
        this.isAppointment = isAppointment;
    }

    public List<OrderGoodsLabelVO> getLabelList() {
        return labelList;
    }

    public void setLabelList(List<OrderGoodsLabelVO> labelList) {
        this.labelList = labelList;
    }

    public Double getPacketPrice() {
        return packetPrice;
    }

    public void setPacketPrice(Double packetPrice) {
        this.packetPrice = packetPrice;
    }

    public String getServiceUsername() {
        return serviceUsername;
    }

    public void setServiceUsername(String serviceUsername) {
        this.serviceUsername = serviceUsername;
    }

    public Long getServiceSureTime() {
        return serviceSureTime;
    }

    public void setServiceSureTime(Long serviceSureTime) {
        this.serviceSureTime = serviceSureTime;
    }

    public Long getServicePushTime() {
        return servicePushTime;
    }

    public void setServicePushTime(Long servicePushTime) {
        this.servicePushTime = servicePushTime;
    }

    public Long getServiceFinishTime() {
        return serviceFinishTime;
    }

    public void setServiceFinishTime(Long serviceFinishTime) {
        this.serviceFinishTime = serviceFinishTime;
    }

    public String getExtra1() {
        return extra1;
    }

    public void setExtra1(String extra1) {
        this.extra1 = extra1;
    }

    public String getExtra2() {
        return extra2;
    }

    public void setExtra2(String extra2) {
        this.extra2 = extra2;
    }

    public String getExtra3() {
        return extra3;
    }

    public void setExtra3(String extra3) {
        this.extra3 = extra3;
    }
}
